package com.photography.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.photography.common.Result;
import com.photography.entity.Cart;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.Map;

public interface CartService extends IService<Cart> {

    /**
     * 添加商品到购物车
     *
     * @param cart 购物车信息
     * @return 结果
     */
    Result addToCart(Cart cart);


    /**
     * 删除购物车记录
     *
     * @param id 购物车id
     * @return 结果
     */
    Result deleteCart(Integer id);

    /**
     * 清空用户购物车
     *
     * @return 结果
     */
    Result clearCart();

    /**
     * 分页查询购物车列表
     *
     * @param page 分页参数
     * @return 结果
     */
    Page<Map<String, Object>> getCartPage(Page<Cart> page);


    /**
     * 获取购物车总金额
     *
     * @return 结果
     */
    Result getCartTotalAmount();

    /**
     * 更新数量
     * @param quantity 数量
     * @return 结果
     */
    Result updateQuantity(Integer id, Integer quantity);
}
